﻿using System.Collections.Generic;
using System.Windows;

namespace Levfier.GUI
{
    /// <summary>
    /// 描画更新インターフェース
    /// </summary>
    public interface IDrawable
    {
        /// <summary>
        /// 描画更新を行う
        /// </summary>
        void Update();

        /// <summary>
        /// 選択された時の動作
        /// </summary>
        /// <param name="sender">イベント発生源</param>
        void Select(object sender);

        /// <summary>
        /// 選択された時の動作
        /// </summary>
        /// <param name="sender">イベント発生源</param>
        void Unselect(object sender);

        /// <summary>
        /// 自分自身を削除する
        /// </summary>
        IEnumerable<UIElement> Delete();
    }
}
